﻿Imports Microsoft.Office.Interop

Public Class xtf_LISTADOcliente_

    Event syncFin()

    Public Overrides Sub IniciarLista()
        Try
            gdc_general.BeginUpdate()
            gdv_general.BeginDataUpdate()
            gdv_general.BeginUpdate()
            gdc_general.DataSource = dtt_DataTable
            'ulg_Lista.DisplayLayout.GroupByBox.Style = Infragistics.Win.UltraWinGrid.GroupByBoxStyle.Full

            'Creacion y carga de Cuentas
            dtt_DataTable.Columns.Add("Identificador (ID)")
            dtt_DataTable.Columns.Add("Código")
            dtt_DataTable.Columns.Add("Nombre de Fantasía")
            dtt_DataTable.Columns.Add("Razón Social")
            dtt_DataTable.Columns.Add("Tipo")
            dtt_DataTable.Columns.Add("Condición IVA")
            dtt_DataTable.Columns.Add("Nro. Fiscal")
            dtt_DataTable.Columns.Add("Web")
            dtt_DataTable.Columns.Add("Tipo Documento")
            dtt_DataTable.Columns.Add("Número Documento")
            dtt_DataTable.Columns.Add("Teléfono Primario")
            dtt_DataTable.Columns.Add("Dirección Primaria")
            dtt_DataTable.Columns.Add("EMail Primario")


            gdv_general.PopulateColumns(dtt_DataTable)


            Dim obj_Cliente_ As New cls_cliente_
            If obj_Cliente_.CargarTodosLISTA(True, ObtenerRegistroEstado()) Then
                For Each Cliente As cls_cliente_ In obj_Cliente_.Items
                    AgregarItem(Cliente)
                Next
            End If


            'ulg_Lista.DataBind()

            FiltrarColumnas()



            gdv_general.EndUpdate()
            gdv_general.EndDataUpdate()
            gdc_general.EndUpdate()
        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub



    Public Function AgregarItem(ByRef Cliente As cls_cliente_) As DataRow
        Dim Row As DataRow = dtt_DataTable.NewRow

        Row("Identificador (ID)") = Cliente.idcliente
        Row("Código") = Cliente.codigo
        Row("Nombre de Fantasía") = Cliente.nombrefantasia
        Row("Razón Social") = Cliente.razonsocial
        Row("Tipo") = Cliente.tipo.ToString
        If Not IsNothing(Cliente.tercero.condicioniva) Then
            Row("Condición IVA") = Cliente.tercero.condicioniva.ToString
        End If
        Row("Nro. Fiscal") = Cliente.tercero.numerofiscal
        Row("Web") = Cliente.tercero.web
        If Not IsNothing(Cliente.tercero.tipodocumento) Then
            Row("Tipo Documento") = Cliente.tercero.tipodocumento.ToString
        End If
        Row("Número Documento") = Cliente.tercero.numeroducumento
        If Not IsNothing(Cliente.tercero.telefonoprimario) Then
            Row("Teléfono Primario") = Cliente.tercero.telefonoprimario.ToString
        End If
        If Not IsNothing(Cliente.tercero.direccionprimario) Then
            Row("Dirección Primaria") = Cliente.tercero.direccionprimario.ToString
        End If
        If Not IsNothing(Cliente.tercero.emailprimario) Then
            Row("EMail Primario") = Cliente.tercero.emailprimario.ToString
        End If



        dtt_DataTable.Rows.Add(Row)
        'ulg_Lista.Rows(ulg_Lista.Rows.Count - 1) = Cliente.Height = 19
        Return Row
    End Function

    Public Sub ModificarItem(ByRef Cliente As cls_cliente_, ByRef ulg_row As DataRow)
        ulg_row("Identificador (ID)") = Cliente.idcliente
        ulg_row("Código") = Cliente.codigo
        ulg_row("Nombre de Fantasía") = Cliente.nombrefantasia
        ulg_row("Razón Social") = Cliente.razonsocial
        ulg_row("Tipo") = Cliente.tipo.ToString
        If Not IsNothing(Cliente.tercero.condicioniva) Then
            ulg_row("Condición IVA") = Cliente.tercero.condicioniva.ToString
        End If
        ulg_row("Nro. Fiscal") = Cliente.tercero.numerofiscal
        ulg_row("Web") = Cliente.tercero.web
        If Not IsNothing(Cliente.tercero.tipodocumento) Then
            ulg_row("Tipo Documento") = Cliente.tercero.tipodocumento.ToString
        End If
        ulg_row("Número Documento") = Cliente.tercero.numeroducumento
        If Not IsNothing(Cliente.tercero.telefonoprimario) Then
            ulg_row("Teléfono Primario") = Cliente.tercero.telefonoprimario.ToString
        End If
        If Not IsNothing(Cliente.tercero.direccionprimario) Then
            ulg_row("Dirección Primaria") = Cliente.tercero.direccionprimario.ToString
        End If
        If Not IsNothing(Cliente.tercero.emailprimario) Then
            ulg_row("EMail Primario") = Cliente.tercero.emailprimario.ToString
        End If

    End Sub

    Public Sub New()
        MyBase.New()
        Me.Cursor = Cursors.WaitCursor
        InitializeComponent()
        PERMISONuevo = "004001002"
        PERMISOModificar = "004001003"
        PERMISOEliminar = "004001004"
        PERMISOImprimir = "004001005"
        Me.Text = lbl_modulo.Text : lbl_modulodescripcion.Text = "Listado de " & lbl_modulo.Text & "."
        IniciarLista()

     

        Me.Cursor = Cursors.Default
    End Sub

    Public Sub bbi_sync_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs)
        bsi_estado.Caption = "Cargando..."
        Application.DoEvents()
        Dim importar As New xtf_importarCliente_
        importar.ShowDialog()
        bsi_estado.Caption = "Listo"
    End Sub

    Private Sub xtf_LISTADOcliente__Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim sync As New DevExpress.XtraBars.BarButtonItem
        sync.Caption = "Actualizar Clientes"
        AddHandler sync.ItemClick, AddressOf bbi_sync_ItemClick
        Bar2.InsertItem(Bar2.ItemLinks(5), sync)
        Bar2.ItemLinks(5).BeginGroup = True
    End Sub
End Class